package com.webermagem.controller;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;

import com.webermagem.DAO.SintomaDAO;
import com.webermagem.DAO.TipoSintomaDAO;
import com.webermagem.model.Sintoma;
import com.webermagem.model.TipoSintoma;

@ManagedBean
public class SintomaController {

	private Sintoma sintoma;
	//private List listaPerfis; 
	private DataModel listaSintomas;
	SintomaDAO sintomaDao;
	TipoSintomaDAO tipoSintomaDao;
	
	private List<SelectItem> listaTipoSintomas;
    private TipoSintoma tipoSintomaSelecionado;

	public DataModel getListarSintomas() {
		List<?> lista = sintomaDao.list(" from Sintoma ");
		listaSintomas = new ListDataModel(lista);
		return listaSintomas;
	}
	public String prepararAdicionarSintoma(){
		sintoma = new Sintoma();
		
		listaTipoSintomas = new ArrayList<SelectItem>();
		for (Object objeto : tipoSintomaDao.list(" from TipoSintoma ")) {
			TipoSintoma tipoSintoma = (TipoSintoma)objeto;
            listaTipoSintomas.add(new SelectItem(tipoSintoma, tipoSintoma.getDescricao()));  
        } 
		return "gerenciarSintoma";
	}
	public String prepararAlterarSintoma(){ 
		sintoma = (Sintoma)(listaSintomas.getRowData());
		listaTipoSintomas = new ArrayList<SelectItem>();
		for (Object objeto: tipoSintomaDao.list(" from TipoSintoma ")) {
			TipoSintoma tipoSintoma = (TipoSintoma)objeto;
            listaTipoSintomas.add(new SelectItem(tipoSintoma, tipoSintoma.getDescricao()));  
        } 
		return "gerenciarSintoma";
	}
	public String excluirSintoma(){
		Sintoma sintomaTemp = (Sintoma)(listaSintomas.getRowData());
		sintomaDao.remove(sintomaTemp);
		return "index";
	}
	public String adicionarSintoma(){
		sintoma.setTipoSintoma(tipoSintomaSelecionado);
		sintomaDao.save(sintoma);
		return "index";
	}
	public String alterarSintoma(){
		sintoma.setTipoSintoma(tipoSintomaSelecionado);
		sintomaDao.update(sintoma);
		return "index";
	}
	public SintomaDAO getSintomaDao() {
		return sintomaDao;
	}
	public void setSintomaDao(SintomaDAO sintomaDao) {
		this.sintomaDao = sintomaDao;
	}
	public TipoSintomaDAO getTipoSintomaDao() {
		return tipoSintomaDao;
	}
	public void setTipoSintomaDao(TipoSintomaDAO tipoSintomaDao) {
		this.tipoSintomaDao = tipoSintomaDao;
	}
	public Sintoma getSintoma() {
		return sintoma;
	}
	public void setSintoma(Sintoma sintoma) {
		this.sintoma = sintoma;
	}
	public List getListaTipoSintomas() {
		return listaTipoSintomas;
	}
	public void setListaTipoSintomas(List listaTipoSintomas) {
		this.listaTipoSintomas = listaTipoSintomas;
	}
	public TipoSintoma getTipoSintomaSelecionado() {
		return tipoSintomaSelecionado;
	}
	public void setTipoSintomaSelecionado(TipoSintoma tipoSintomaSelecionado) {
		this.tipoSintomaSelecionado = tipoSintomaSelecionado;
	}

	
}
